home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Speccy ClassiX 1998
/
Speccy ClassiX 98.iso
/
amiga_system
/
the_aminet
/
dev
/
gcc
/
ixemulsdk.lha
/
man
/
cat3
/
getcwd.0
< prev
next >
Wrap
Text File
|
1992-08-10
|
3KB
|
133 lines
GETWD(3) UNIX Programmer's Manual GETWD(3)
NNAAMMEE
ggeettwwdd - get working directory pathname
SSYYNNOOPPSSIISS
##iinncclluuddee <<ssttddiioo..hh>>
_c_h_a_r _*
ggeettccwwdd(_c_h_a_r _*_b_u_f, _s_i_z_e___t _s_i_z_e)
_c_h_a_r _*
ggeettwwdd(_c_h_a_r _*_b_u_f)
DDEESSCCRRIIPPTTIIOONN
The ggeettccwwdd() function copies the absolute pathname of the current working
directory into the memory referenced by _b_u_f and returns a pointer to _b_u_f.
The _s_i_z_e argument is the size, in bytes, of the array referenced by _b_u_f.
If _b_u_f is NULL, space is allocated as necessary to store the pathname.
This space may later be free(3)'d.
The function ggeettwwdd() is a compatibility routine which calls ggeettccwwdd() with
its _b_u_f argument and a size of MAXPATHLEN (as defined in the include file
<_s_y_s_/_p_a_r_a_m_._h>). Obviously, _b_u_f should be at least MAXPATHLEN bytes in
length.
These routines have traditionally been used by programs to save the name
of a working directory for the purpose of returning to it. A much faster
and less error¡prone method of accomplishing this is to open the current
directory (`.') and use the fchdir(2) function to return.
RREETTUURRNN VVAALLUUEESS
Upon successful completion, a pointer to the pathname is returned. Oth¡
erwise a NULL pointer is returned and the global variable _e_r_r_n_o is set to
indicate the error. In addition, ggeettwwdd() copies the error message asso¡
ciated with _e_r_r_n_o into the memory referenced by _b_u_f.
EERRRROORRSS
The ggeettccwwdd() function will fail if:
[EACCESS] Read or search permission was denied for a component of the
pathname.
[EINVAL] The _s_i_z_e argument is zero.
[ENOENT] A component of the pathname no longer exists.
[ENOMEM] Insufficient memory is available.
[ERANGE] The _s_i_z_e argument is greater than zero but smaller than the
length of the pathname plus 1.
SSEEEE AALLSSOO
chdir(2), fchdir(2), malloc(3), strerror(3)
SSTTAANNDDAARRDDSS
The ggeettccwwdd() function conforms to ANSI C3.159¡1989 (``ANSI C''). The
ability to specify a NULL pointer and have ggeettccwwdd() allocate memory as
necessary is an extension.
HHIISSTTOORRYY
The ggeettwwdd() function appeared in 4.0BSD.
BBUUGGSS
The ggeettwwdd() function does not do sufficient error checking and is not
able to return very long, but valid, paths. It is provided for compati¡
bility.
4.2 Berkeley Distribution April 19, 1991 2